#include <stdio.h>
#include <stdlib.h>

typedef int ElemType;

////用代码定义一个单链表
//typedef struct LNode
//{
//    ElemType data;
//    struct LNode* next;
//}LNode, *LinkList;

//不带头结点的单链表
typedef struct LNode
{
    ElemType data;
    struct LNode* next;
}LNode, *LinkList;

//初始化一个空的单链表
bool InitList(LinkList& L)
{
    L=NULL;
    return true;
}

//判断单链表是否为空
bool Empty(LinkList L)
{
    if(L==NULL)
        return true;
    else
        return false;
}

//带头结点的单链表
typedef struct LNode
{
    ElemType data;
    struct LNode*next;
}LNode, *LinkList;

//初始化一个单链表（带头节点）
bool InitList(LinkList& L)
{
    L=(LNode*)malloc(sizeof(LNode));
    if(L==NULL)   //内存不足，分配失败
        return false;
    L->next=NULL;
    return true;
}

//判断单链表是否为空（带头节点）
bool Empty(LinkList L)
{
    if(L->next == NULL)
        return true;
    else
        return false;
}
